package com.laijiale.service;

import com.laijiale.dto.EpisodeExcelDTO;
import com.laijiale.dto.EpisodeInsertDTO;
import com.laijiale.dto.EpisodePageDTO;
import com.laijiale.dto.EpisodeUpdateDTO;
import com.laijiale.result.Result;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.laijiale.entity.Episode;
import org.springframework.web.multipart.MultipartFile;
import vo.EpisodeSimpleListVO;

import java.util.List;

/**
 * 集次表 服务层。
 *
 * @author laijiale
 * @since 2024-12-22
 */
public interface EpisodeService extends IService<Episode> {
    boolean insert(EpisodeInsertDTO dto);
    Episode select(Long id);
    List<EpisodeSimpleListVO> simpleList();
    Page<Episode> page(EpisodePageDTO dto);
    boolean update(EpisodeUpdateDTO dto);
    boolean delete(Long id);
    boolean deleteBatch(List<Long> ids);
    Result<String> uploadVideo(MultipartFile videoFile, Long id);
    Result<String> uploadVideoCover(MultipartFile videoCoverFile, Long id);

    List<EpisodeExcelDTO> excel();
}
